/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.aruoc.sim.siguelineas.impl;

import org.aruoc.sim.siguelineas.Siguelineas;

/**
 *
 * @mperezma
 */
public class MiRastreador extends Siguelineas {

    private boolean vuelta = false;
    private long inicioVuelta;
    private long ultimoContacto = 0;
    public boolean autonomo;

    @Override
    public void step() {

        if (autonomo) {
            if (!sensorDerecho.isActivo()) {
                activarMotorDerecho(potencia);
            }
            if (!sensorIzquierdo.isActivo()) {
                activarMotorIzquierdo(potencia);
            }
            if (sensorIzquierdo.isActivo() && sensorDerecho.isActivo()) {
                activarMotorIzquierdo(potencia / 15);
                activarMotorDerecho(potencia / 15);
            }

            if (sensorIzquierdo.isActivo() || sensorDerecho.isActivo()) {
                ultimoContacto = getWorld().currentTime();
                vuelta = false;
            }

            if (!vuelta && getWorld().currentTime() - ultimoContacto > 230) {
                inicioVuelta = getWorld().currentTime();
                vuelta = true;
            }

            if (vuelta) {
                activarMotorDerecho(potencia * 2);

                if (getWorld().currentTime() - inicioVuelta > 180) {
                    vuelta = false;
                    ultimoContacto = getWorld().currentTime();
                }

            }
        } else {
            super.step();
        }
    }
}
